package com.ktgj.flight.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ktgj.common.core.annotation.Excel;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class FlightOrderExceptionDetails implements Serializable {
    public FlightOrderExceptionDetails() {
        this.passengers = new ArrayList<>();
    }

    /** 订单表主键 */
    @Excel(name = "订单表主键")
    private String orderId;

    /** PNR信息 */
    @Excel(name = "PNR信息")
    private String pnr;

    /** 行动代码 */
    @Excel(name = "行动代码")
    private String actionCode;

    /** 订单状态 */
    @Excel(name = "订单状态")
    private String status;

    /** 出发城市到达城市三字码（航程） */
    @Excel(name = "出发城市到达城市三字码（航程）")
    private String flightinfo;

    /** 航班号 */
    @Excel(name = "航班号")
    private String flightno;

    /** 期望出票时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "期望出票时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date expectOutTime;

    /** 配单时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "配单时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date assignDate;

    /** 订单收银状态 */
    @Excel(name = "订单收银状态")
    private String guestPymtStsId;

    /** 付款方式 */
    @Excel(name = "付款方式")
    private String payType;

    /** 订单来源 */
    @Excel(name = "订单来源")
    private String sourceTypeId;

    /** 乘客信息 */
    @Excel(name = "乘客信息")
    private List<FlightOrderExceptionPassenger> passengers;

    /** 出票渠道 */
    @Excel(name = "出票渠道")
    private String ticketChannel;

    /** 公司备注 */
    @Excel(name = "公司备注")
    private String gcMemo;

    /** 大编（20160407后的订单才有） */
    @Excel(name = "大编", readConverterExp = "2=0160407后的订单才有")
    private String bigpnr;

    /** 支付总金额 */
    @Excel(name = "支付总金额")
    private BigDecimal payAmount;

    public String getOrderId() {
        return orderId;
    }

    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }

    public String getPnr() {
        return pnr;
    }

    public void setPnr(String pnr) {
        this.pnr = pnr;
    }

    public String getActionCode() {
        return actionCode;
    }

    public void setActionCode(String actionCode) {
        this.actionCode = actionCode;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getFlightinfo() {
        return flightinfo;
    }

    public void setFlightinfo(String flightinfo) {
        this.flightinfo = flightinfo;
    }

    public String getFlightno() {
        return flightno;
    }

    public void setFlightno(String flightno) {
        this.flightno = flightno;
    }

    public Date getExpectOutTime() {
        return expectOutTime;
    }

    public void setExpectOutTime(Date expectOutTime) {
        this.expectOutTime = expectOutTime;
    }

    public Date getAssignDate() {
        return assignDate;
    }

    public void setAssignDate(Date assignDate) {
        this.assignDate = assignDate;
    }

    public String getGuestPymtStsId() {
        return guestPymtStsId;
    }

    public void setGuestPymtStsId(String guestPymtStsId) {
        this.guestPymtStsId = guestPymtStsId;
    }

    public String getPayType() {
        return payType;
    }

    public void setPayType(String payType) {
        this.payType = payType;
    }

    public String getSourceTypeId() {
        return sourceTypeId;
    }

    public void setSourceTypeId(String sourceTypeId) {
        this.sourceTypeId = sourceTypeId;
    }

    public List<FlightOrderExceptionPassenger> getPassengers() {
        return passengers;
    }

    public String getTicketChannel() {
        return ticketChannel;
    }

    public void setTicketChannel(String ticketChannel) {
        this.ticketChannel = ticketChannel;
    }

    public String getGcMemo() {
        return gcMemo;
    }

    public void setGcMemo(String gcMemo) {
        this.gcMemo = gcMemo;
    }

    public String getBigpnr() {
        return bigpnr;
    }

    public void setBigpnr(String bigpnr) {
        this.bigpnr = bigpnr;
    }

    public BigDecimal getPayAmount() {
        return payAmount;
    }

    public void setPayAmount(BigDecimal payAmount) {
        this.payAmount = payAmount;
    }
}
